<%
=begin
apps: airflow,apache,argo-cd,argo-workflows,aspnet-core,consul,concourse,discourse,dokuwiki,drupal,ejbca,fluentd,geode,ghost,grafana,grafana-operator,harbor,influxdb,jasperreports,jenkins,joomla,jupyterhub,keycloak,kibana,kong,kubeapps,logstash,magento,mediawiki,moodle,minio,nats,nginx,node,odoo,opencart,orangehrm,osclass,owncloud,parse,phabricator,phpbb,phpmyadmin,prestashop,rabbitmq,redmine,sealed-secrets,solr,sonarqube,spark,spring-cloud-dataflow,suitecrm,testlink,tomcat,wildfly,wordpress
platforms: kubernetes, tanzu-application-catalog
id: configure_ingress
title: Configure and use Ingress
category: configuration
weight: 40
highlight: 40
=end %>

This chart supports Ingress resources. If an Ingress controller, such as [nginx-ingress](https://hub.kubeapps.com/charts/stable/nginx-ingress) or [traefik](https://hub.kubeapps.com/charts/stable/traefik), is installed in the cluster, that Ingress controller can be used to serve the application.

To enable Ingress integration, set the *\*.ingress.enabled* parameter to *true*.

The most common scenario is to have one host name mapped to the deployment. In this case, the \*.*ingress.hostname* property can be used to set the host name. The *\*.ingress.tls* parameter can be used to add the TLS configuration for this host.

However, it is also possible to have more than one host. To facilitate this, the *\*.ingress.extraHosts* parameter (if available) can be set with the host names specified as an array. The *\*.ingress.extraTLS* parameter (if available) can also be used to add the TLS configuration for extra hosts.

> NOTE: For each host specified in the *\*.ingress.extraHosts* parameter, it is necessary to set a name, path, and any annotations that the Ingress controller should know about. Not all annotations are supported by all Ingress controllers, but [this annotation reference document](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md) lists the annotations supported by many popular Ingress controllers.

Adding the TLS parameter (where available) will cause the chart to generate HTTPS URLs, and the  application will be available on port 443. The actual TLS secrets do not have to be generated by this chart. However, if TLS is enabled, the Ingress record will not work until the TLS secret exists.

[Learn more about Ingress controllers](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/).
